로지스틱 회귀
1. 개요
1. 개요
로지스틱 회귀는 통계학과 머신러닝에서 주로 사용되는 분류 알고리즘이다. 이름에 '회귀'가 포함되어 있지만, 실제로는 종속 변수가 범주형(예: 참/거짓, 스팸/정상)인 경우에 사용되는 분류 모델이다. 이 모델은 독립 변수의 선형 결합을 통해 특정 사건이 발생할 확률을 모델링한다.
로지스틱 회귀의 핵심은 로지스틱 함수(또는 시그모이드 함수)를 사용하여 선형 회귀의 출력을 0과 1 사이의 확률 값으로 변환하는 것이다. 이를 통해 임계값(일반적으로 0.5)을 기준으로 두 개의 클래스 중 하나로 샘플을 분류한다. 모델은 최대 우도 추정과 같은 방법을 통해 학습되며, 경사 하강법이 파라미터를 최적화하는 데 흔히 사용된다.
로지스틱 회귀는 이진 분류 문제에 가장 널리 적용되지만, One-vs-Rest나 소프트맥스 회귀 방식을 통해 다중 클래스 분류 문제로도 확장될 수 있다. 이 모델의 장점은 구현이 비교적 간단하고, 결과의 해석이 용이하며, 특히 특성의 중요도를 계수의 크기와 부호로 파악할 수 있다는 점이다.
이 알고리즘은 의학(질병 위험 예측), 금융(신용 평가), 마케팅(고객 이탈 예측) 등 다양한 분야에서 기본적이면서도 강력한 분류 도구로 활용된다. 선형적 결정 경계를 가정하는 모델이지만, 다항식 특성이나 상호작용 항을 도입하는 등의 특성 공학을 통해 더 복잡한 관계를 모델링할 수 있다.
2. 수학적 배경
2. 수학적 배경
로지스틱 회귀는 종속 변수가 범주형일 때 사용되는 통계 모델로, 특히 이진 분류 문제에 널리 적용된다. 이 모델의 핵심은 독립 변수의 선형 조합을 로지스틱 함수를 통해 0과 1 사이의 확률 값으로 변환하는 것이다. 이 확률을 바탕으로 특정 임계값(보통 0.5)을 기준으로 클래스를 예측한다.
로지스틱 회귀의 가설 함수는 선형 회귀의 가설 함수와 구별된다. 선형 회귀가 $h_\theta(x) = \theta^T x$ 형태의 직선을 사용한다면, 로지스틱 회귀는 이 결과를 시그모이드 함수라고도 불리는 로지스틱 함수 $g(z) = \frac{1}{1 + e^{-z}}$에 통과시킨다. 따라서 최종 가설 함수는 $h_\theta(x) = g(\theta^T x) = \frac{1}{1 + e^{-\theta^T x}}$로 표현된다. 이 함수의 출력은 샘플이 양성 클래스에 속할 확률 $P(y=1|x; \theta)$을 의미한다.
로지스틱 회귀 모델을 학습시키기 위해서는 적절한 비용 함수가 필요하다. 선형 회귀에서 주로 사용되는 평균 제곱 오차는 로지스틱 회귀의 가설 함수와 결합하면 볼록하지 않은 함수가 되어 최적화가 어렵다. 이를 해결하기 위해 로지스틱 회귀는 다음과 같은 로그 손실 함수를 사용한다.
$$ J(\theta) = -\frac{1}{m} \sum_{i=1}^{m} [y^{(i)} \log(h_\theta(x^{(i)})) + (1 - y^{(i)}) \log(1 - h_\theta(x^{(i)}))] $$
이 함수는 예측 확률과 실제 레이블 사이의 차이를 측정하며, 경사 하강법이나 뉴턴 방법과 같은 최적화 알고리즘을 통해 비용 함수 $J(\theta)$를 최소화하는 모수 $\theta$를 찾는다.
구성 요소 | 설명 | 수식 표현 (예시) |
|---|---|---|
로지스틱 함수 | 선형 출력을 0과 1 사이 확률로 압축 | $g(z) = \frac{1}{1 + e^{-z}}$ |
가설 함수 | 입력 $x$가 주어졌을 때의 예측 확률 | $h_\theta(x) = g(\theta^T x)$ |
비용 함수 | 모델 예측과 실제 값의 오차를 계산 | $J(\theta) = -\frac{1}{m} \sum_{i=1}^{m} [y^{(i)} \log(h_\theta(x^{(i)})) + ...]$ |
2.1. 로지스틱 함수
2.1. 로지스틱 함수
로지스틱 함수는 S자 형태의 곡선을 가지는 시그모이드 함수의 한 종류이다. 이 함수는 임의의 실수 입력값을 0과 1 사이의 확률 값으로 변환하는 역할을 한다. 로지스틱 회귀의 핵심이 되는 이 함수는 통계학, 생물학, 경제학 등 다양한 분야에서 성장 모델이나 확률적 현상을 설명하는 데 널리 사용된다.
함수의 표준적인 형태는 f(x) = 1 / (1 + e^{-x}) 이다. 여기서 e는 자연로그의 밑을 나타낸다. 이 공식에서 입력 x가 음의 무한대로 가면 함수값은 0에 수렴하고, 양의 무한대로 가면 1에 수렴한다. x가 0일 때 함수값은 정확히 0.5가 된다. 이 특성 덕분에 함수의 출력을 어떤 사건이 발생할 확률로 해석하기에 매우 적합하다.
로지스틱 함수의 도함수는 계산상 편리한 특성을 지닌다. 도함수는 f'(x) = f(x) * (1 - f(x)) 로 표현될 수 있다[1]. 이 자기 참조적 형태는 경사 하강법을 이용한 모델 학습 시 비용 함수의 기울기를 계산할 때 중요한 역할을 한다.
2.2. 가설 함수
2.2. 가설 함수
로지스틱 회귀의 가설 함수는 입력 특징 벡터를 받아 해당 샘플이 특정 클래스에 속할 확률을 출력하는 함수이다. 이진 분류 문제에서 가설 함수는 일반적으로 시그모이드 함수를 사용하여 0과 1 사이의 확률값을 생성한다.
가설 함수는 다음과 같은 형태를 가진다.
h_θ(x) = g(θ^T x) = 1 / (1 + e^{-θ^T x})
여기서 g(z)는 시그모이드 함수(로지스틱 함수)를, θ는 모델의 가중치 파라미터 벡터를, x는 입력 특징 벡터를 나타낸다. 함수의 출력 h_θ(x)는 주어진 x에 대해 y=1(양성 클래스)일 확률로 해석된다. 즉, P(y=1 | x; θ) = h_θ(x)이다.
가설 함수의 결정 경계는 θ^T x = 0일 때 형성된다. 이는 h_θ(x) = 0.5가 되는 지점으로, 모델이 두 클래스를 구분하는 선형 의사결정 경계를 정의한다. 경계의 한쪽(θ^T x > 0)은 양성 클래스로, 다른 쪽(θ^T x < 0)은 음성 클래스로 분류될 가능성이 높다.
입력 (x) | 가중치 (θ) | 선형 조합 (z = θ^T x) | 가설 함수 출력 (h_θ(x)) | 해석 |
|---|---|---|---|---|
특징 벡터 | 학습된 파라미터 | 결정 경계 계산 | 0과 1 사이의 확률 | 양성 클래스일 확률 |
이 함수는 선형 회귀의 가설 함수와 달리 출력을 확률로 제한하기 때문에 분류 문제에 직접 적용할 수 있다. 모델 학습의 목표는 실제 레이블 y와 가설 함수의 예측 확률 h_θ(x) 사이의 차이를 최소화하는 최적의 파라미터 θ를 찾는 것이다.
2.3. 비용 함수
2.3. 비용 함수
로지스틱 회귀의 비용 함수는 모델의 예측값(가설 함수의 출력)과 실제 관측값 사이의 오차를 측정하는 함수이다. 이 함수의 값을 최소화하는 방향으로 모델의 매개변수를 조정하여 학습이 진행된다. 로지스틱 회귀에서는 일반적으로 최대우도추정 원리를 기반으로 한 로그 손실 함수를 비용 함수로 사용한다.
이진 분류의 경우, 실제 레이블 y가 0 또는 1의 값을 가질 때, 하나의 데이터 샘플에 대한 로그 손실은 다음과 같이 정의된다.
Cost(hθ(x), y) = -y log(hθ(x)) - (1 - y) log(1 - hθ(x))
여기서 hθ(x)는 로지스틱 함수를 통해 계산된 예측 확률을 의미한다. 이 공식은 y=1일 때 -log(hθ(x))가, y=0일 때 -log(1 - hθ(x))가 비용이 되도록 설계되어 있다. 예측 확률이 실제 레이블에 가까울수록 비용은 0에 가까워지고, 반대일수록 비용은 매우 커진다.
전체 훈련 데이터셋에 대한 평균 비용 함수 J(θ)는 모든 m개의 샘플에 대한 개별 비용의 평균으로 계산된다.
J(θ) = -(1/m) Σ [yⁱ log(hθ(xⁱ)) + (1 - yⁱ) log(1 - hθ(xⁱ))]
학습 알고리즘인 경사 하강법 또는 다른 최적화 알고리즘은 이 J(θ)를 최소화하는 매개변수 θ를 찾는 것을 목표로 한다. 이 비용 함수는 볼록 함수의 성질을 가지므로, 경사 하강법을 통해 전역 최솟값을 찾을 수 있도록 보장한다[2].
3. 학습 알고리즘
3. 학습 알고리즘
로지스틱 회귀 모델의 매개변수는 경사 하강법을 통해 학습된다. 이 알고리즘은 비용 함수를 최소화하는 방향으로 가중치를 반복적으로 업데이트한다. 각 반복(epoch)에서 알고리즘은 현재 가중치에 대한 비용 함수의 기울기(gradient)를 계산하고, 이 기울기의 반대 방향으로 가중치를 조정한다. 학습률(learning rate)이라는 하이퍼파라미터는 각 단계의 업데이트 크기를 조절한다. 학습률이 너무 크면 최소점을 지나칠 수 있고, 너무 작으면 학습 속도가 매우 느려진다.
알고리즘 단계 | 설명 |
|---|---|
가중치 초기화 | 가중치 벡터를 0 또는 작은 난수로 초기화한다. |
기울기 계산 | 현재 가중치에서 전체 훈련 데이터 또는 미니배치에 대한 비용 함수의 기울기를 계산한다. |
가중치 업데이트 | 가중치 := 가중치 - 학습률 * 기울기 공식을 적용하여 가중치를 갱신한다. |
수렴 확인 | 기울기가 충분히 작아지거나 정해진 반복 횟수에 도달할 때까지 2-3단계를 반복한다. |
로지스틱 회귀는 과적합을 방지하기 위해 정규화 기법을 자주 적용한다. L2 정규화(릿지 정규화)는 비용 함수에 가중치 벡터의 L2 노름의 제곱에 정규화 강도(λ)를 곱한 항을 추가한다. 이는 큰 가중치 값에 패널티를 부여하여 모델의 복잡도를 낮추고 일반화 성능을 향상시킨다. L1 정규화(라쏘 정규화)도 사용될 수 있으며, 이는 일부 가중치를 정확히 0으로 만들어 특징 선택 효과를 낸다. 정규화 강도는 검증 세트를 통해 조정해야 하는 중요한 하이퍼파라미터이다.
3.1. 경사 하강법
3.1. 경사 하강법
로지스틱 회귀 모델의 매개변수를 학습하기 위해 가장 널리 사용되는 최적화 알고리즘이다. 이 방법은 비용 함수의 기울기(경사)를 계산하여 매개변수를 조금씩 업데이트하며, 비용 함수의 값을 최소화하는 방향으로 나아간다.
로지스틱 회귀에서 경사 하강법을 적용하려면 먼저 가중치와 편향에 대한 비용 함수의 편미분을 계산해야 한다. 이 계산 결과는 각 매개변수가 비용 함수에 미치는 영향을 나타내며, 이 기울기의 반대 방향으로 매개변수를 조정한다. 매개변수 업데이트는 다음 공식에 따라 이루어진다.
θ_j := θ_j - α * ∂J(θ)/∂θ_j
여기서 θ는 매개변수 벡터, α는 학습률, J(θ)는 비용 함수이다. 학습률은 매 업데이트 단계의 크기를 결정하는 중요한 초매개변수이다.
학습률의 선택은 알고리즘의 성능에 결정적 영향을 미친다. 너무 작은 학습률은 수렴 속도를 매우 느리게 만들고, 너무 큰 학습률은 비용 함수의 값을 발산시키거나 최소점을 지나쳐버리는 문제를 일으킬 수 있다. 또한, 경사 하강법에는 모든 학습 데이터를 사용하는 배치 경사 하강법, 미니배치를 사용하는 확률적 경사 하강법 및 그 변형들이 존재한다. 로지스틱 회귀의 비용 함수는 볼록 함수의 성질을 가지므로, 적절한 학습률 하에서 경사 하강법은 전역 최소점에 수렴함이 보장된다.
3.2. 정규화
3.2. 정규화
정규화는 로지스틱 회귀 모델의 과적합을 방지하고 일반화 성능을 향상시키기 위해 사용되는 기법이다. 특히 고차원 데이터나 특징의 수가 많을 때 모델이 훈련 데이터에 지나치게 맞춰져 복잡해지는 것을 규제한다. 정규화는 비용 함수에 페널티 항을 추가하여 모델 파라미터(가중치)의 크기를 제한하는 방식으로 작동한다.
주로 사용되는 두 가지 정규화 방법은 L1 정규화(라쏘)와 L2 정규화(릿지)이다. L1 정규화는 가중치의 절댓값의 합을 페널티로 추가하며, 일부 가중치를 정확히 0으로 만들어 특징 선택의 효과를 가져올 수 있다. 반면, L2 정규화는 가중치의 제곱의 합을 페널티로 추가하여 모든 가중치를 균일하게 작게 유지하려는 특성이 있다. 로지스틱 회귀의 비용 함수에 L2 정규화를 적용한 수식은 다음과 같다.
J(θ) = -1/m * Σ [y⁽ⁱ⁾ log(h(x⁽ⁱ⁾)) + (1-y⁽ⁱ⁾) log(1-h(x⁽ⁱ⁾))] + λ/(2m) * Σ θⱼ²
여기서 λ는 정규화 강도를 조절하는 하이퍼파라미터이며, j는 1부터 n까지의 특징 인덱스를 나타낸다.
정규화 강도 λ의 선택은 매우 중요하다. λ 값이 너무 크면 모델이 지나치게 단순해져 과소적합될 위험이 있고, 너무 작으면 정규화 효과가 미미해져 과적합을 방지하지 못할 수 있다. 최적의 λ 값은 일반적으로 교차 검증을 통해 결정한다. 정규화를 적용할 때는 편향 항(θ₀)에는 페널티를 주지 않는 것이 일반적이다.
4. 이진 분류와 다중 분류
4. 이진 분류와 다중 분류
로지스틱 회귀는 기본적으로 이진 분류 문제를 해결하도록 설계되었다. 이 경우 모델의 출력은 시그모이드 함수를 통해 0과 1 사이의 확률값을 가지며, 일반적으로 0.5를 기준으로 클래스를 결정한다. 그러나 실제 문제에서는 붓꽃 품종 분류나 손글씨 숫자 인식과 같이 두 개 이상의 클래스를 구분해야 하는 다중 클래스 분류 상황이 자주 발생한다. 이를 해결하기 위한 주요 전략으로 One-vs-Rest 방식과 Softmax 회귀 방식이 널리 사용된다.
One-vs-Rest는 다중 클래스 문제를 여러 개의 이진 분류 문제로 분해하는 접근법이다. K개의 클래스가 있을 경우, 각 클래스를 '양성' 클래스로, 나머지 모든 클래스를 '음성' 클래스로 간주하여 총 K개의 독립적인 이진 분류기를 훈련시킨다. 예를 들어, A, B, C 세 클래스를 분류할 때는 'A vs (B,C)', 'B vs (A,C)', 'C vs (A,B)'라는 세 개의 분류기를 만든다. 새로운 샘플에 대한 예측은 각 분류기가 출력한 확률 중 가장 높은 값을 가진 클래스를 선택하는 방식으로 이루어진다. 이 방법은 구현이 간단하고 이해하기 쉬우나, 클래스 간 불균형이 발생할 수 있으며, 각 분류기의 확률 출력값의 합이 1이 되지 않을 수 있다는 단점이 있다.
보다 직접적이고 이론적으로 정교한 방법은 Softmax 회귀 또는 다항 로지스틱 회귀를 사용하는 것이다. 이는 로지스틱 함수를 다중 클래스로 일반화한 소프트맥스 함수를 활성화 함수로 사용한다. 소프트맥스 함수는 모든 클래스에 대한 예측 확률의 합이 정확히 1이 되도록 보장하며, 각 클래스에 대한 점수를 지수 함수를 통해 정규화한다. K개의 클래스에 대한 가중치 파라미터를 하나의 행렬로 통합하여 모델을 구성하며, 비용 함수로는 교차 엔트로피를 사용한다. 이 방법은 단일 모델로 모든 클래스의 관계를 동시에 학습한다는 점에서 One-vs-Rest에 비해 더 일관된 확률 추정을 제공하는 경우가 많다.
접근 방식 | 핵심 아이디어 | 장점 | 단점 |
|---|---|---|---|
K개의 이진 분류기 생성 | 구현이 용이, 기존 이진 분류기 재사용 가능 | 클래스 불균형 가능성, 확률 합이 1이 아닐 수 있음 | |
단일 모델에서 소프트맥스 함수 사용 | 일관된 확률 추정, 이론적으로 더 적합 | 계산 비용이 상대적으로 높을 수 있음 |
따라서 문제의 특성과 제약 조건에 따라 적절한 방식을 선택한다. 클래스 수가 많지 않거나 지원 벡터 머신과 같은 모델을 사용할 때는 One-vs-Rest가 유용하며, 신경망의 출력층이나 클래스 간 상호 배타적 관계가 명확할 때는 Softmax 회귀가 선호된다.
4.1. One-vs-Rest
4.1. One-vs-Rest
One-vs-Rest는 로지스틱 회귀를 포함한 여러 이진 분류 알고리즘을 활용하여 다중 클래스 분류 문제를 해결하기 위한 전략이다. 이 접근법은 각 클래스를 나머지 모든 클래스와 대조하는 방식으로 작동한다. 즉, N개의 클래스가 존재할 경우, N개의 독립적인 이진 분류기를 훈련시킨다. k번째 분류기는 '클래스 k'를 양성 클래스로, '클래스 k를 제외한 나머지 모든 클래스'를 하나로 묶어 음성 클래스로 설정하여 데이터를 학습한다.
최종적으로 새로운 샘플을 분류할 때는, 각 분류기가 자신의 양성 클래스에 속할 확률(또는 결정 점수)을 출력한다. 이 중 가장 높은 확률값(또는 점수)을 내는 분류기의 양성 클래스로 샘플을 할당한다. 예를 들어, 붓꽃 데이터셋의 세 종류(Setosa, Versicolor, Virginica)를 분류한다면, 다음과 같은 세 개의 분류기가 생성된다.
분류기 | 양성 클래스 | 음성 클래스 |
|---|---|---|
분류기 1 | Setosa | Versicolor + Virginica |
분류기 2 | Versicolor | Setosa + Virginica |
분류기 3 | Virginica | Setosa + Versicolor |
이 방법의 주요 장점은 구현이 간단하고 이해하기 쉬우며, 기존에 잘 구현된 효율적인 이진 분류 알고리즘을 그대로 활용할 수 있다는 점이다. 그러나 클래스 간 불균형이 심각한 데이터셋에서는 특정 분류기의 음성 클래스 샘플 수가 압도적으로 많아져 성능이 저하될 수 있다[3]. 또한, 각 분류기가 독립적으로 학습되기 때문에 클래스 간의 상관관계나 계층적 구조를 명시적으로 고려하지 못한다는 한계가 있다. One-vs-Rest는 서포트 벡터 머신과 같은 다른 이진 분류 모델에도 널리 적용되는 일반적인 다중 클래스 분류 전략이다.
4.2. Softmax 회귀
4.2. Softmax 회귀
Softmax 회귀는 로지스틱 회귀를 두 개 이상의 범주를 대상으로 하는 다중 클래스 분류 문제로 일반화한 모델이다. 다항 로지스틱 회귀(Multinomial Logistic Regression)라고도 불린다. 이진 분류에서는 시그모이드 함수를 사용하여 한 클래스에 속할 확률을 계산하지만, Softmax 회귀에서는 소프트맥스 함수를 사용하여 각 클래스에 속할 확률을 계산하고, 모든 클래스의 확률 합이 1이 되도록 정규화한다.
모델은 각 클래스에 대해 독립적인 가중치 벡터를 학습한다. 입력 특성 벡터 x가 주어졌을 때, 각 클래스 k에 대한 점수(또는 로짓) z_k = w_k^T * x + b_k를 계산한다. 이 점수들은 소프트맥스 함수를 통해 확률로 변환된다. 소프트맥스 함수는 특정 클래스 k의 예측 확률 P(y=k|x)를 모든 클래스의 점수에 대한 지수 함수 값의 합으로 나눈 비율로 정의한다[4]. 이 과정을 통해 가장 높은 확률을 가진 클래스가 최종 예측값으로 선택된다.
특성 | 이진 로지스틱 회귀 | Softmax 회귀 |
|---|---|---|
적용 문제 | 이진 분류 (2개 클래스) | 다중 클래스 분류 (K≥3 클래스) |
활성화 함수 | ||
출력 | 한 클래스의 확률 (다른 클래스 확률은 1-p) | K개 클래스 각각의 확률 (합=1) |
비용 함수 |
학습은 일반적으로 범주형 교차 엔트로피를 비용 함수로 사용하는 경사 하강법 또는 그 변형 알고리즘을 통해 이루어진다. 이 비용 함수는 모델이 예측한 확률 분포와 실제 레이블의 원-핫 인코딩된 분포 사이의 차이를 측정한다. Softmax 회귀는 로지스틱 회귀와 마찬가지로 선형 결정 경계를 생성하지만, 여러 개의 클래스를 구분하기 위해 여러 개의 선형 경계를 학습한다는 점이 특징이다. 이 모델은 이미지 분류, 자연어 처리의 문서 분류, 의료 진단 등 다양한 분야에서 기본적이면서도 효과적인 분류기로 널리 사용된다.
5. 모델 평가
5. 모델 평가
로지스틱 회귀 모델의 성능을 정량적으로 평가하기 위해 여러 지표와 방법이 사용된다. 가장 기본적인 평가 도구는 혼동 행렬이다. 혼동 행렬은 모델의 예측 결과와 실제 클래스를 2x2 표로 정리하여 진양성, 진음성, 위양성, 위음성의 빈도를 보여준다. 이 표를 기반으로 다양한 성능 지표를 계산할 수 있다.
정밀도, 재현율, F1 점수는 모델의 성능을 다각도로 평가하는 핵심 지표이다. 정밀도는 모델이 양성이라고 예측한 샘플 중 실제 양성인 비율을 의미하며, 위양성을 줄이는 데 중요하다. 재현율은 실제 양성인 샘플 중 모델이 양성으로 올바르게 예측한 비율을 의미하며, 위음성을 줄이는 데 중요하다. F1 점수는 정밀도와 재현율의 조화 평균으로, 두 지표 간의 균형을 종합적으로 나타낸다. 이 지표들은 클래스 불균형이 있을 때 특히 유용하다.
지표 | 공식 | 설명 |
|---|---|---|
정밀도 | TP / (TP + FP) | 양성 예측의 정확도 |
재현율 | TP / (TP + FN) | 실제 양성을 찾아내는 능력 |
F1 점수 | 2 * (정밀도 * 재현율) / (정밀도 + 재현율) | 정밀도와 재현율의 균형 점수 |
ROC 곡선과 AUC는 모델의 판별 능력을 평가하는 또 다른 방법이다. ROC 곡선은 분류 임계값을 변화시키면서 진양성율(재현율)과 위양성율의 관계를 그래프로 나타낸다. 완벽한 분류기는 그래프의 왼쪽 상단에 가까운 곡선을 그린다. 무작위 추측에 해당하는 대각선보다 위에 위치해야 유용한 모델로 간주된다. AUC는 ROC 곡선 아래의 면적으로, 0과 1 사이의 값을 가지며 값이 클수록 모델의 성능이 우수함을 의미한다. AUC는 임계값에 독립적인 평가 지표라는 장점이 있다.
5.1. 혼동 행렬
5.1. 혼동 행렬
혼동 행렬은 이진 분류 모델의 성능을 평가할 때 예측 결과와 실제 클래스를 네 가지 범주로 나누어 표로 정리한 것이다. 이는 모델이 얼마나 정확하게 분류했는지를 세부적으로 분석하는 데 사용되는 기본 도구이다. 네 가지 범주는 참양성, 거짓양성, 거짓음성, 참음성으로 구성된다.
예측 \ 실제 | 실제 양성(P) | 실제 음성(N) |
|---|---|---|
양성 예측 | 참양성(TP) | 거짓양성(FP) |
음성 예측 | 거짓음성(FN) | 참음성(TN) |
이 표를 통해 여러 성능 지표를 계산할 수 있다. 가장 기본적인 정확도는 (TP+TN)/(TP+TN+FP+FN)으로, 전체 예측 중 올바른 예측의 비율을 나타낸다. 그러나 데이터의 클래스 불균형이 심할 경우 정확도만으로는 모델 성능을 왜곡하여 판단할 수 있다. 예를 들어, 실제 데이터의 95%가 음성인 경우 모든 샘플을 음성으로 예측하는 모델도 95%의 정확도를 보일 수 있다. 따라서 더 세밀한 지표가 필요하다.
혼동 행렬에서 파생된 주요 지표로는 정밀도와 재현율이 있다. 정밀도(TP/(TP+FP))는 모델이 양성이라고 예측한 샘플 중 실제로 양성인 샘플의 비율을 의미하며, 거짓양성(FP)을 얼마나 줄였는지를 평가한다. 재현율(TP/(TP+FN))은 실제 양성인 샘플 중 모델이 올바르게 양성으로 예측한 비율을 의미하며, 거짓음성(FN)을 얼마나 잡아냈는지를 평가한다. 이 두 지표는 일반적으로 트레이드오프 관계에 있으며, 상황에 따라 중요도를 달리하여 모델을 평가한다. 이 둘을 조화평균한 값이 F1 점수이다.
5.2. 정밀도, 재현율, F1 점수
5.2. 정밀도, 재현율, F1 점수
이진 분류 모델의 성능을 평가할 때, 단순히 전체 정확도만으로는 불균형한 데이터셋이나 특정 오류의 중요성을 제대로 반영하지 못할 수 있다. 이를 보완하기 위해 정밀도, 재현율, 그리고 이를 종합한 F1 점수가 널리 사용된다. 이 지표들은 혼동 행렬에서 도출된 진양성, 진음성, 거짓양성, 거짓음성 값을 기반으로 계산된다.
정밀도는 모델이 양성이라고 예측한 샘플 중 실제로 양성인 샘플의 비율을 의미한다. 즉, '예측의 정확성'에 초점을 맞춘다. 높은 정밀도는 거짓양성을 최소화하는 모델을 나타내며, 스팸 메일 필터링처럼 잘못된 양성 판정(정상 메일을 스팸으로 분류)의 비용이 큰 경우 중요하게 고려된다. 재현율은 실제 양성인 샘플 중 모델이 올바르게 양성으로 예측한 샘플의 비율을 의미한다. '발견 능력'에 초점을 맞추며, 높은 재현율은 거짓음성을 최소화한다. 질병 진단처럼 실제 양성 케이스를 놓치는 비용이 매우 큰 경우 재현율이 핵심 평가 지표가 된다.
정밀도와 재현율은 일반적으로 트레이드오프 관계에 있다. 임계값을 조정하여 한 지표를 높이면 다른 지표는 낮아지는 경향이 있다. 따라서 두 지표를 하나의 숫자로 종합하여 모델을 비교하는 것이 유용한데, 이때 사용되는 것이 F1 점수이다. F1 점수는 정밀도와 재현율의 조화평균으로 계산되며, 두 지표가 모두 높을수록 높은 값을 가진다. 특히 데이터 분포가 불균형할 때 유용한 평가 지표로 작용한다.
지표 | 공식 | 설명 |
|---|---|---|
정밀도 | TP / (TP + FP) | 양성 예측의 정확도 |
재현율 | TP / (TP + FN) | 실제 양성을 찾아내는 능력 |
F1 점수 | 2 * (정밀도 * 재현율) / (정밀도 + 재현율) | 정밀도와 재현율의 조화평균 |
이러한 지표들은 상황에 따라 상대적 중요도가 달라지므로, 단일 지표보다는 함께 고려하여 모델의 성능을 다각도로 평가하는 것이 바람직하다. 예를 들어, 고객 이탈 예측 모델에서는 이탈 고객(양성)을 최대한 찾아내는 재현율이 더 중요할 수 있는 반면, 금융 사기 탐지 모델에서는 정상 거래를 사기로 오판하는 것을 줄이는 정밀도가 더 중요할 수 있다.
5.3. ROC 곡선과 AUC
5.3. ROC 곡선과 AUC
ROC 곡선은 이진 분류 모델의 성능을 평가하는 데 널리 사용되는 그래픽 도구이다. 이 곡선은 분류기의 임계값을 변화시키면서 계산된 진짜 양성 비율(TPR, 재현율)과 거짓 양성 비율(FPR)의 관계를 나타낸다. ROC 곡선 아래의 면적을 AUC(Area Under the Curve)라고 하며, 이 값은 모델의 예측 능력을 0과 1 사이의 하나의 숫자로 요약하여 나타낸다.
용어 | 설명 |
|---|---|
진짜 양성 비율(TPR, Sensitivity) | 실제 양성인 샘플 중에서 모델이 올바르게 양성으로 예측한 비율이다. TPR = TP / (TP + FN) |
거짓 양성 비율(FPR) | 실제 음성인 샘플 중에서 모델이 잘못하여 양성으로 예측한 비율이다. FPR = FP / (FP + TN) |
ROC 곡선 아래의 면적으로, 1에 가까울수록 우수한 분류 성능을 의미한다. |
완벽한 분류기(모든 샘플을 정확히 구분)의 ROC 곡선은 왼쪽 상단 모서리(TPR=1, FPR=0)를 지나고, AUC 값은 1이 된다. 반면, 무작위 추측에 의한 분류기의 ROC 곡선은 대각선(y=x)에 가깝게 나타나며, AUC 값은 약 0.5가 된다. 따라서 AUC 값이 0.5에 가까울수록 모델의 예측 능력이 낮음을 의미한다.
ROC 곡선과 AUC는 불균형 데이터셋에서도 비교적 안정적인 평가 지표를 제공한다는 장점이 있다. 또한, 정밀도-재현율 곡선과 달리 음성 클래스의 분포 변화에 덜 민감하다. 그러나 다중 클래스 분류 문제에는 직접 적용할 수 없으며, 일반적으로 One-vs-Rest 방식을 사용하여 각 클래스별로 ROC 곡선을 계산한다.
6. 특징 엔지니어링
6. 특징 엔지니어링
특징 엔지니어링은 로지스틱 회귀 모델의 성능을 극대화하기 위해 원시 데이터를 변환하거나 새로운 특징을 생성하는 과정이다. 로지스틱 회귀는 본질적으로 선형 결정 경계를 생성하므로, 데이터의 관계가 비선형적일 경우 직접적으로 좋은 성능을 내기 어렵다. 효과적인 특징 엔지니어링은 이러한 한계를 보완하고 모델의 예측력을 높이는 핵심 단계이다.
주요 기법으로는 다항식 특징 생성이 널리 사용된다. 예를 들어, 원본 특징 x1과 x2가 있을 때, x1^2, x2^2, x1*x2와 같은 상호작용 항이나 고차항을 추가하면 모델이 더 복잡한 비선형 결정 경계를 학습할 수 있게 된다. 또한, 연속형 변수를 구간화하여 범주형 변수로 변환하거나, 표준화 및 정규화를 통해 특징의 스케일을 일치시키는 것도 중요하다. 이는 경사 하강법 기반 학습의 안정성과 수렴 속도를 개선한다.
범주형 변수를 다룰 때는 원-핫 인코딩이 필수적이다. 이 기법은 각 범주를 이진 벡터로 변환하여 모델이 범주형 정보를 수치적으로 해석할 수 있게 한다. 텍스트 데이터의 경우 TF-IDF나 단어 임베딩 값을 특징으로 사용할 수 있으며, 도메인 지식을 활용한 새로운 특징 생성(예: 여러 특징의 비율 계산)도 매우 효과적이다.
기법 | 설명 | 목적 |
|---|---|---|
다항식 특징 생성 | 원본 특징의 곱이나 제곱항을 추가 | 비선형 관계 모델링 |
스케일링 | 학습 안정성 및 수렴 속도 향상 | |
원-핫 인코딩 | 범주형 변수를 이진 벡터로 변환 | 범주형 데이터의 수치적 표현 |
구간화 | 연속 값을 특정 구간의 범주로 변환 | 비선형 관계 포착 및 이상치 영향 감소 |
도메인 특징 생성 | 전문 지식을 바탕으로 새로운 특징 합성 | 문제에 특화된 정보 제공 |
최종적으로, 특징 선택 기법을 통해 불필요하거나 중복된 특징을 제거하면 모델의 과적합 위험을 줄이고 일반화 성능을 높일 수 있다. 로지스틱 회귀에서 특징 엔지니어링은 단순한 전처리를 넘어 모델의 표현력을 확장하는 창의적인 과정이다.
7. 장단점
7. 장단점
로지스틱 회귀는 해석의 용이성과 구현의 간편함으로 널리 사용되는 분류 알고리즘이다. 가장 큰 장점은 모델의 결과가 확률 값으로 출력된다는 점이다. 이는 단순히 클래스 레이블을 예측하는 것을 넘어, 예측에 대한 신뢰도를 제공한다. 예를 들어, 어떤 환자의 질병 발병 확률이 80%로 예측된다면, 이는 0 또는 1의 이진 판단보다 더 풍부한 정보를 의사 결정에 제공할 수 있다. 또한, 모델의 계수를 해석함으로써 각 특징이 결과에 미치는 영향의 방향과 상대적 크기를 이해할 수 있어, 금융 리스크 평가나 의학 진단과 같은 설명이 중요한 분야에서 유용하게 활용된다.
로지스틱 회귀는 계산 비용이 낮고 과적합에 비교적 강건한 편이다. 특히 L1 정규화나 L2 정규화를 적용하면 불필요한 특징의 계수를 0으로 수렴시키거나 줄여 일반화 성능을 높일 수 있다. 선형적으로 구분 가능한 데이터에 대해서는 안정적이고 효율적인 성능을 보인다. 또한, 많은 프로그래밍 언어와 머신러닝 라이브러리에서 표준적으로 제공되어 구현과 배포가 용이하다.
그러나 로지스틱 회귀는 본질적으로 선형 결정 경계를 생성하는 모델이라는 근본적인 한계를 지닌다. 아래 표는 주요 단점을 정리한 것이다.
단점 | 설명 |
|---|---|
비선형 관계 모델링의 한계 | 특징과 로짓 사이의 관계가 선형이라고 가정한다. 복잡한 비선형 관계를 가진 데이터에서는 성능이 제한될 수 있다. |
이상치에 대한 민감성 | 극단적인 이상치가 존재할 경우 모델의 계수 추정에 큰 영향을 미칠 수 있다. |
독립성 가정 | 각 특징이 서로 독립적이라고 가정하지만, 실제 데이터에서는 특징 간 상관관계가 존재하는 경우가 많다. |
데이터 분포 요구 | 모든 클래스가 선형 분리 가능해야 최적의 성능을 발휘한다. |
따라서 특징 간의 상호작용을 명시적으로 모델에 포함시키거나, 다항식 특징을 생성하는 등의 특징 엔지니어링이 필요할 수 있다. 매우 복잡한 비선형 패턴을 학습해야 하는 경우에는 신경망이나 서포트 벡터 머신과 같은 다른 알고리즘이 더 적합할 수 있다.
8. 응용 분야
8. 응용 분야
로지스틱 회귀는 결과가 범주형인 예측 문제, 특히 이진 분류 문제에 널리 적용된다. 의료 분야에서는 질병의 발병 위험을 예측하는 데 사용되며, 예를 들어 환자의 나이, 콜레스테롤 수치, 흡연 여부 등의 특징을 바탕으로 심장병 발생 가능성을 확률로 계산한다[5]. 금융 분야에서는 신용 평가 모델의 핵심 구성 요소로, 대출 신청자의 정보를 분석하여 채무 불이행 확률을 추정하고 신용 점수 산정에 기여한다.
자연어 처리에서는 텍스트 분류 작업에 활발히 적용된다. 스팸 메일 필터링은 대표적인 사례로, 이메일의 단어 빈도 등을 특징으로 사용하여 정상 메일과 스팸 메일을 구분한다. 또한 감성 분석에서 문서나 문장의 감정(긍정/부정)을 분류하는 기본 모델로도 사용된다. 마케팅 분야에서는 고객의 과거 구매 이력 및 인구통계학적 데이터를 바탕으로 특정 상품 구매나 이탈 가능성을 예측하는 응답 모델링에 활용된다.
다음은 로지스틱 회귀가 주요하게 적용되는 분야를 정리한 표이다.
분야 | 주요 응용 예시 |
|---|---|
의료/보건 | 질병 진단 보조, 환자 위험도 스트라티피케이션[6], 역학 연구 |
금융/보험 | 신용 리스크 평가, 보험 사기 탐지, 고객 이탈 예측 |
마케팅/CRM | 고객 응답 예측, 클릭률 예측, 교차 판매 모델 |
텍스트/이미지 분석 | 스팸 필터링, 문서 분류, 기본적인 이미지 분류 |
사회 과학 | 선거 결과 예측, 사회 현상에 대한 요인 분석 |
이 모델은 해석이 비교적 용이하다는 장점 덕분에, 단순한 분류를 넘어 의사결정의 근거를 제공해야 하는 다양한 비즈니스 및 연구 분야에서 기초 모델로서의 가치를 인정받고 있다.
